package beans;

import java.sql.Date;
import java.util.Calendar;
import java.util.Collection;
import java.util.List;

import javax.ejb.Stateful;
import javax.persistence.*;


import clases.Cliente;
import beans.AdministradorClientes;
import clases.Cotizacion;
import clases.CotizacionItem;
import clases.Pago;

@Stateful
public class AdministradorClientesBean implements AdministradorClientes {
	
	
	@PersistenceContext(unitName="AdministradorClientes")
	private EntityManager manager;
	
	// Nunca usar VO's, solo el cliente sabe de vo, no la bdd.
	public void agregarCliente(Cliente cliente ){
		//Cliente c = new Cliente();
		//c.setVO(clienteVO);
		manager.persist(cliente);
	}
	public boolean eliminarCliente(int id,String nombre){
		//Cliente c=Persistence.obtenerCliente(id);
		// if(c.getNombre()==nombre){
			// if(c.getCuentaCorriente=0){
				//Persistence.remove(c);
				return true;
			}
	//	}
	//	else
	//		return false;
	
	// public boolean modificarCliente(int id ,String nombre){
		//Cliente c=Persistence.obtenerCliente(id)
		// c.setNombre(nombre);
		//Persistence.modificar(c);
	
	
	/* public ClienteVO getCliente(ClienteVO clienteVO){
		Cliente c=manager.find(clienteVO.getId(), "Cliente");
			return c;
		else
			return null;
	}
	*/
	
	
	// ESTA MAL... No tiene funcionalidad de negocio en el entity bean.
	
	/*@Transient
	public void agregarItemCotizacion(CotizacionItem cotizacionItem){
		for (int i=0;this.cotizaciones.get(i)!=null;i++){
			if(this.cotizaciones.get(i).getId()==idCliente){
				this.cotizaciones.get(i).agregarItemCotizacion(cotizacionItem);
			}
		}
	}	
	*/
	
	
	/*public List<Cotizacion> ObtenerCotizacionesCliente (int id){
		Cliente c=this.getCliente(id);
		if(c!=null){
			// c.setCotizaciones(Persistence.Query("COTIZACIONES VIGENTES"));
		}
		return c.getCotizaciones();
	}*/
	
	public void RegistrarPago(int id,float valor){
		Cliente c=this.getCliente(id);
		c.setCuentaCorriente(c.getCuentaCorriente()+valor);
		//Persistence.actualizarCliente(c);
		Pago pago=new Pago();
		//pago.setFecha(Calendar.getInstance());
		// pago.setValor(valor);
		//Persistence.registrarPago(pago);
	}
	public void agregarCliente(String nombre, String condVenta,
			float cuentaCorriente) {
		// TODO Auto-generated method stub
		
	}
	public Cliente getCliente(int id) {
		// TODO Auto-generated method stub
		return null;
	}
	public List<Cotizacion> ObtenerCotizacionesCliente(Cliente cli) {
		// TODO Auto-generated method stub
		return null;
	}
	public boolean modificarCliente(int id, String nombre) {
		// TODO Auto-generated method stub
		return false;
	}
	
}
